From fcba3bd44ec0362a26f456ff1ba2321d6b16594c Mon Sep 17 00:00:00 2001 From: Maksim Mazko Date: Fri, 6 Mar 2026 16:20:10 +0300 Subject: [PATCH] status/keyboard: Simplify MRU list updates Rewrite the update logic to a more direct form, improving readability by removing the manual iteration and list manipulation. Part-of: --- js/ui/status/keyboard.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js index 58b481336..b1527e3c4 100644 --- a/js/ui/status/keyboard.js +++ b/js/ui/status/keyboard.js @@ -490,13 +490,11 @@ export class InputSourceManager extends Signals.EventEmitter { this.emit('current-source-changed', oldSource); - for (let i = 1; i < this._mruSources.length; ++i) { - if (this._mruSources[i] === newSource) { - const currentSource = this._mruSources.splice(i, 1); - this._mruSources = currentSource.concat(this._mruSources); - break; - } - } + this._mruSources = [ + newSource, + ...this._mruSources.filter(s => s !== newSource), + ]; + this._changePerWindowSource(); } -- 2.39.5